package zero.tech.def;

import java.util.HashSet;
import java.util.Set;

import zero.tech.core.find.DynamicFind;



public class DefClassLoader extends DynamicFind {
	private DefClassLoader() {

	}

	private static DefClassLoader defClassManager = new DefClassLoader();
	private final Set<Class<?>> classes = new HashSet<Class<?>>();

	public static DefClassLoader getManager() {
		return defClassManager;
	}

	@Override
	public void findClass(Class<?> clz) throws Exception {
		this.classes.add(clz);
	}

	@Override
	public boolean verification(Class<?> clazz) {
		return haveSuperInterfaceOn(clazz, BaseDef.class);
	}

	public Set<Class<?>> getClasses() {
		return classes;
	}

	@Override
	public void afterFind() {
		
	}

	@Override
	public void beforeFind() {
		
	}

}
